Merge Sort マージソート
Sorting ソート 整列
アルゴリズム Algorithms
の一種
分解し再帰的に解く
分割統治法
配列 Array
を半分にわけて、それぞれを
Sorting ソート 整列
し、2つをマージすることを繰り返す
特徴
O(n log n)
入力長が増えても高速
データの出現順序による
時間計算量 time complexity
の変化小
外部ソート(メモリ食う)
空間計算量 space complexity
n
マージ操作のための余分メモリ必要
安定性 Algorithms
標語
マージソートちゃんマジソート
利点
O(n log n)
安定性 Algorithms
→しかし、
Quicksort クイックソート
に劣る
したがって、用途なさそう
table:mergeSort
Name Best Average Worst Memory Stable Comments
Merge sort
O(n log n)
O(n log n)
O(n log n)
n Yes
GitHub.icon
my-javascript-algorithms/Sorting/MergeSort at master · KiichiSugihara/my-javascript-algorithms
参考
Merge Sort in JavaScript | メモログ